import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);
// import { getLogin } from "@/api/api.js"

export default new Vuex.Store({
  state: {
    // token:'',
  },
  mutations: {
    setLogin(state, token) {
      state.token = token
      localStorage.setItem('token',token)
    },
    tuChu(state){
      localStorage.removeItem("token")
    }
  },
  // actions: {
  //   //登录-异步方法提交同步，接受外部传过来的值
  //    setLogin({commit},userinfo){
  //   //1.请求登录接口-常规方法
  //   //     console.log('接受用户信息',userinfo);
  //   //     getLogin(userinfo).then(res=>{
  //   //         console.log('登录成功结果',res);
  //   //      // context.commit('setLogin',res.data.token)
  //   //         commit('setLogin',res.data.token)
  //   //         if(res.meta.status===200){
  //   //             location.href='/#/home'
  //   //         }
  //   //     })
  //   //2.请求登录接口-如何把请求到的结果，拿到外面页面使用？
  //     return new Promise((resolve,reject)=>{
  //         getLogin(userinfo).then(res=>{
  //           // console.log('登录成功结果',res);
  //           commit('setLogin',res.data.token)
  //           resolve(res)
  //         }).catch(err=>{
  //             reject(err)
  //         })
  //     })     
        
  //   },
  //     //退出登录
  //    logOut({commit}){
  //       commit("setLogin","");
  //       localStorage.removeItem('token')
  //       location.href='/#/login'
  //   }
  // },
  getters:{},
  modules: {},
});
// axios封装鉴权
// 项目中的token过期 或者状态处理
// vuex的核心  mutatio和actions